#include <iostream>
#include <CommonFunction.h>
#include <LogManager.h>

// void CommonFunction::logStrByUdp(const QString& str)
// {
    // LogManager::instance()->logStrByUdp(str);
// }
    
// osg::Matrix CommonFunction::coordTransMatrix(const QString& frontStr, const QString& rightStr, const QString& upStr)
// {
    // QMap<QString, int> mapCoordConv;
    // mapCoordConv["x"] = 0;
    // mapCoordConv["y"] = 1;
    // mapCoordConv["z"] = 2;
    // mapCoordConv["-x"] = 3;
    // mapCoordConv["-y"] = 4;
    // mapCoordConv["-z"] = 5;

    // int front = mapCoordConv[frontStr];
    // int right = mapCoordConv[rightStr];
    // int up = mapCoordConv[upStr];

    // int coordV[6] = { 1, 1, 1, -1, -1, -1 };//refer to x,y,z,-x,-y,-z
	// // //For example:
	// // //If front is y,right is -x,up is z. 
	// // //Then front=1,right=3,up=2. 
	// // //And x_invert = [0,1,0],y_invert = [-1,0,0],z_invert = [0,0,1]
    // int x_invt[3] = { 0,0,0 };//the x axis of UE4 represented in Optitrack coordinate
	// x_invt[front % 3] = coordV[front];
    // int y_invt[3] = { 0,0,0 };//the y axis of UE4 represented in Optitrack coordinate
    // y_invt[right % 3] = coordV[right];
    // int z_invt[3] = { 0,0,0 };//the z axis of UE4 represented in Optitrack coordinate
    // z_invt[up % 3] = coordV[up];

	// // //Wether is a right hand coord(useless)
	// // if (IsRightHandCoord(x_invt, y_invt, z_invt)) {
		// // isRighthandCoord = true;
	// // }
	// // else
	// // {
		// // isRighthandCoord = false;
	// // }
	// // //The TransMatrix from UE4 to current(Optitrack)

    // osg::Matrix m(x_invt[0],y_invt[0],z_invt[0],0,
                  // x_invt[1],y_invt[1],z_invt[1],0,
                  // x_invt[2],y_invt[2],z_invt[2],0,
                  // 0,0,0,1);
    // // osg::Matrix m(x_invt[0],x_invt[1],x_invt[2],0,
                  // // y_invt[0],y_invt[1],y_invt[2],0,
                  // // z_invt[0],z_invt[1],z_invt[2],0,
                  // // 0,0,0,1);
    // // m.transpose(m);
    
    // return m;
    
	// // q_matrix_type middleMatrix = { {x_invt[0],y_invt[0],z_invt[0],0},
    // // {x_invt[1],y_invt[1],z_invt[1],0},
    // // {x_invt[2],y_invt[2],z_invt[2],0},
    // // {0,0,0,1} };
	// // q_matrix_copy(TransMatrix_UE2Out, middleMatrix);
	// // //Tranpose the TransMatrix to get the inverse Matrix( the TransMatrix from Current to UE4)
	// // TMatrix(TransMatrix_Out2UE, TransMatrix_UE2Out);
// }

